﻿using UnityEngine.SceneManagement;
/// <summary>
/// AbsESF_MetaObject【IESF_Scene接口】
/// </summary>
public partial class AbsESF_MetaObject : IESF_Scene
{
    #region IESF_Scene
    /// <summary>
    /// 激活场景变更
    /// </summary>
    /// <param name="_before">变更前场景</param>
    /// <param name="_after">变更后场景</param>
    public void ActiveSceneChanged(Scene _before, Scene _after)
    {
        OnActiveSceneChanged(_before, _after);
    }

    /// <summary>
    /// 激活场景变更
    /// </summary>
    /// <param name="_before">变更前场景</param>
    /// <param name="_after">变更后场景</param>
    protected virtual void OnActiveSceneChanged(Scene _before, Scene _after)
    {

    }

    /// <summary>
    /// 场景加载完成
    /// </summary>
    /// <param name="_scene">加载场景</param>
    /// <param name="_mode">模式</param>
    public void SceneLoaded(Scene _scene, LoadSceneMode _mode)
    {
        OnSceneLoaded(_scene, _mode);
    }

    /// <summary>
    /// 场景加载完成
    /// </summary>
    /// <param name="_scene">加载场景</param>
    /// <param name="_mode">模式</param>
    protected virtual void OnSceneLoaded(Scene _scene, LoadSceneMode _mode)
    {

    }

    /// <summary>
    /// 卸载场景完成
    /// </summary>
    /// <param name="_scene">场景</param>
    public void SceneUnloaded(Scene _scene)
    {
        OnSceneUnloaded(_scene);
    }

    /// <summary>
    /// 卸载场景完成
    /// </summary>
    /// <param name="_scene">场景</param>
    protected virtual void OnSceneUnloaded(Scene _scene)
    {

    }
    #endregion
}